package com.racer.readwritelock;

import java.util.Random;

public class WriterThread extends Thread{
	private static final Random random = new Random();
	private final Data data;
	private final String filler;
	private int index = 0;

	public WriterThread(String name,Data data,String filler){
		super(name);
		this.data = data;
		this.filler = filler;
	}

	public void run(){
		try{
			while(true){
				char c = nextchar();
				data.write(c);
				
				Thread.sleep(random.nextInt(3000));
			}
		}catch(InterruptedException e){

		}
	}

	private char nextchar(){
		char c = filler.charAt(index);
		index++;
		if(index>=filler.length()){
			index=0;
		}
		return c;
	}
}